package view; import java.awt.BorderLayout; import java.awt.Color; import java.awt.GridLayout; import java.util.ArrayList; import java.util.Observable; import java.util.Observer; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JTextArea; import javax.swing.JTextField; import controller.Controller; import models.Dictionary; public class View implements Observer { private String dictionaryUpdate; private Dictionary dictionary; JTextField word = new JTextField(); JButton search = new JButton("Search word"); JButton addWord = new JButton("Add word"); JButton addSynonim = new JButton("Add synonim"); JTextArea resultText = new JTextArea(); JButton viewWords = new JButton("View words"); JButton deleteWord = new JButton("Delete word"); public View() { JFrame frame = new JFrame("Synonims"); frame.setLayout(new BorderLayout()); frame.setSize(500, 300); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setLocationRelativeTo(null); frame.setVisible(true); JPanel panel = new JPanel(); panel.setLayout(new GridLayout(2, 2)); panel.setBackground(Color.WHITE); search.setActionCommand("search"); addWord.setActionCommand("addWord"); addSynonim.setActionCommand("addSynonim"); panel.add(word); panel.add(search); panel.add(addWord); panel.add(addSynonim); JPanel bottom = new JPanel(); viewWords.setActionCommand("viewWords"); deleteWord.setActionCommand("deleteWord"); bottom.add(viewWords); bottom.add(deleteWord); panel.setVisible(true); frame.add(panel, BorderLayout.NORTH); frame.add(resultText, BorderLayout.CENTER); frame.add(bottom, BorderLayout.SOUTH); } @Override public void update(Observable obs, Object obj) { dictionaryUpdate = "\n" + "Updated dictionary"; } public String getUpdate() { return dictionaryUpdate; } public void addController(Controller controller) { word.addActionListener(controller); search.addActionListener(controller); addWord.addActionListener(controller); addSynonim.addActionListener(controller); viewWords.addActionListener(controller); deleteWord.addActionListener(controller); } public void addModel(Dictionary dictionary) { this.dictionary = dictionary; } public String getWord() { return word.getText(); } public void updateResultText(ArrayList<String> text) { resultText.setText(""); ; for (String s : text) { resultText.append(s); } } }